1. Technical Field of the Invention
This invention relates to computer systems, and more particularly to tracking user input using both keyboard and mouse.
2. Background Art
Keyboard monitoring serves the primary purpose of tracking what a user is doing on his computer.
There exist system tracking devices that monitor every key entered on a user keyboard. However, such tracking devices do not monitor what is done with the mouse, resulting in an information gap. There is, therefore, a need in the art for a system and method for monitoring all text input both from a keyboard and also from a mouse.
Copy and paste is an example of a mouse function that enters text but escapes keyboard logging. This results in failure to learn what actions a user is undertaking on the computer, and opens up possibilities for users intending harm to the system such that automated recovery procedures cannot be used. Also, as a user switches from a first to a second application, a conventional key logging system may lose track of the text entered and modified in the first application.
The failure to log mouse functions results, from an informational perspective, in logging only a limited set of data for analysis at a later stage. From a recovery perspective, failure to log mouse functions results in losing the ability to recover routines that were recorded but included an action taken by the mouse, such as pressing enter or selecting another application window.
Keyboard logging may be used in many ways. For example, it may be used by information agencies to track activities of suspects, by applications that track keys entered by a user, often without his knowledge, to feed back data for marketing purposes over the Internet, or in recording macros within an application, such as the Lotus 1-2-3™ spreadsheet application. While some logging of mouse actions is available within such an application when recording a macro while running the application, the system does not recognize actions taken outside of the running application. Thus, there is a need to provide a tracking mechanism that tracks keyboard and mouse actions beyond that built within a single application.